#include <stdio.h>
#include <stdbool.h>

//https://leetcode.cn/problems/univalued-binary-tree/

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
};

// 如果二叉树每个节点都具有相同的值，那么该二叉树就是单值二叉树。
// 只有给定的树是单值二叉树时，才返回 true；否则返回 false。

bool isUnivalTree(struct TreeNode *root) {
    if (root == NULL) {
        return true;
    } else if (root->left != NULL && root->val != root->left->val) {
        return false;
    } else if (root->right != NULL && root->val != root->right->val) {
        return false;
    } else {
        return isUnivalTree(root->left) && isUnivalTree(root->right);
    }
}

int main() {

    return 0;
}


